diff --git a/src/applications/phriction/controller/PhrictionEditController.php b/src/applications/phriction/controller/PhrictionEditController.php
--- a/src/applications/phriction/controller/PhrictionEditController.php
+++ b/src/applications/phriction/controller/PhrictionEditController.php
@@ -117,6 +117,19 @@
       $v_cc = $request->getArr('cc');
       $v_projects = $request->getArr('projects');
       $v_space = $request->getStr('spacePHID');
+      $file_phids_to_attach = [];
+
+      $content_metadata = $request->getStr('content_metadata');
+      if ($content_metadata) {
+        $content_metadata = phutil_json_decode($content_metadata);
+        if (
+          isset($content_metadata['attachedFilePHIDs']) &&
+          is_array($content_metadata['attachedFilePHIDs'])
+        ) {
+          $file_phids_to_attach = $content_metadata['attachedFilePHIDs'];
+        }
+      }
+
 
       if ($save_as_draft) {
         $edit_type = PhrictionDocumentDraftTransaction::TRANSACTIONTYPE;
@@ -134,9 +147,27 @@
       $xactions[] = id(new PhrictionTransaction())
         ->setTransactionType(PhrictionDocumentTitleTransaction::TRANSACTIONTYPE)
         ->setNewValue($title);
-      $xactions[] = id(new PhrictionTransaction())
+      $content_xaction = id(new PhrictionTransaction())
         ->setTransactionType($edit_type)
         ->setNewValue($content_text);
+
+      if ($file_phids_to_attach) {
+        $attached_file_phids = [];
+        foreach ($file_phids_to_attach as $phid) {
+          $attached_file_phids[$phid] = $phid;
+        }
+
+        $metadata_object = array(
+          'remarkup.control' => array(
+            'attachedFilePHIDs' => $attached_file_phids,
+          ),
+        );
+
+        $content_xaction->setMetadata($metadata_object);
+      }
+
+      $xactions[] = $content_xaction;
+
       $xactions[] = id(new PhrictionTransaction())
         ->setTransactionType(PhabricatorTransactions::TYPE_VIEW_POLICY)
         ->setNewValue($v_view)