MCPcopy
hub / github.com/pallets/werkzeug / add_file

Method add_file

src/werkzeug/datastructures/file_storage.py:173–205  ·  view source on GitHub ↗

Adds a new file to the dict. `file` can be a file name or a :class:`file`-like or a :class:`FileStorage` object. :param name: the name of the field. :param file: a filename or :class:`file`-like object :param filename: an optional filename :param content_typ

(
        self,
        name: str,
        file: str | os.PathLike[str] | t.IO[bytes] | FileStorage,
        filename: str | None = None,
        content_type: str | None = None,
    )

Source from the content-addressed store, hash-verified

171 """
172
173 def add_file(
174 self,
175 name: str,
176 file: str | os.PathLike[str] | t.IO[bytes] | FileStorage,
177 filename: str | None = None,
178 content_type: str | None = None,
179 ) -> None:
180 """Adds a new file to the dict. `file` can be a file name or
181 a :class:`file`-like or a :class:`FileStorage` object.
182
183 :param name: the name of the field.
184 :param file: a filename or :class:`file`-like object
185 :param filename: an optional filename
186 :param content_type: an optional content type
187 """
188 if isinstance(file, FileStorage):
189 self.add(name, file)
190 return
191
192 if isinstance(file, (str, os.PathLike)):
193 if filename is None:
194 filename = os.fspath(file)
195
196 file_obj: t.IO[bytes] = open(file, "rb")
197 else:
198 file_obj = file # type: ignore[assignment]
199
200 if filename and content_type is None:
201 content_type = (
202 mimetypes.guess_type(filename)[0] or "application/octet-stream"
203 )
204
205 self.add(name, FileStorage(file_obj, filename, name, content_type))
206
207
208# circular dependencies

Callers 4

_add_file_from_dataMethod · 0.80
test_file_closingFunction · 0.80

Calls 2

FileStorageClass · 0.85
addMethod · 0.45

Tested by 4

_add_file_from_dataMethod · 0.64
test_file_closingFunction · 0.64